﻿#region Using directives

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Configuration.Provider;
using System.Web.Configuration;
using System.Web;
using ATA.Entities;
using ATA.Data;
using ATA.Data.Bases;

#endregion

namespace ATA.Data
{
	/// <summary>
	/// This class represents the Data source repository and gives access to all the underlying providers.
	/// </summary>
	[CLSCompliant(true)]
	public sealed class DataRepository 
	{
		private static volatile NetTiersProvider _provider = null;
        private static volatile NetTiersProviderCollection _providers = null;
		private static volatile NetTiersServiceSection _section = null;
		private static volatile Configuration _config = null;
        
        private static object SyncRoot = new object();
				
		private DataRepository()
		{
		}
		
		#region Public LoadProvider
		/// <summary>
        /// Enables the DataRepository to programatically create and 
        /// pass in a <c>NetTiersProvider</c> during runtime.
        /// </summary>
        /// <param name="provider">An instatiated NetTiersProvider.</param>
        public static void LoadProvider(NetTiersProvider provider)
        {
			LoadProvider(provider, false);
        }
		
		/// <summary>
        /// Enables the DataRepository to programatically create and 
        /// pass in a <c>NetTiersProvider</c> during runtime.
        /// </summary>
        /// <param name="provider">An instatiated NetTiersProvider.</param>
        /// <param name="setAsDefault">ability to set any valid provider as the default provider for the DataRepository.</param>
		public static void LoadProvider(NetTiersProvider provider, bool setAsDefault)
        {
            if (provider == null)
                throw new ArgumentNullException("provider");

            if (_providers == null)
			{
				lock(SyncRoot)
				{
            		if (_providers == null)
						_providers = new NetTiersProviderCollection();
				}
			}
			
            if (_providers[provider.Name] == null)
            {
                lock (_providers.SyncRoot)
                {
                    _providers.Add(provider);
                }
            }

            if (_provider == null || setAsDefault)
            {
                lock (SyncRoot)
                {
                    if(_provider == null || setAsDefault)
                         _provider = provider;
                }
            }
        }
		#endregion 
		
		///<summary>
		/// Configuration based provider loading, will load the providers on first call.
		///</summary>
		private static void LoadProviders()
        {
            // Avoid claiming lock if providers are already loaded
            if (_provider == null)
            {
                lock (SyncRoot)
                {
                    // Do this again to make sure _provider is still null
                    if (_provider == null)
                    {
                        // Load registered providers and point _provider to the default provider
                        _providers = new NetTiersProviderCollection();

                        ProvidersHelper.InstantiateProviders(NetTiersSection.Providers, _providers, typeof(NetTiersProvider));
						_provider = _providers[NetTiersSection.DefaultProvider];

                        if (_provider == null)
                        {
                            throw new ProviderException("Unable to load default NetTiersProvider");
                        }
                    }
                }
            }
        }

		/// <summary>
        /// Gets the provider.
        /// </summary>
        /// <value>The provider.</value>
        public static NetTiersProvider Provider
        {
            get { LoadProviders(); return _provider; }
        }

		/// <summary>
        /// Gets the provider collection.
        /// </summary>
        /// <value>The providers.</value>
        public static NetTiersProviderCollection Providers
        {
            get { LoadProviders(); return _providers; }
        }
		
		/// <summary>
		/// Creates a new <c cref="TransactionManager"/> instance from the current datasource.
		/// </summary>
		/// <returns></returns>
		public TransactionManager CreateTransaction()
		{
			return _provider.CreateTransaction();
		}

		#region Configuration

		/// <summary>
		/// Gets a reference to the configured NetTiersServiceSection object.
		/// </summary>
		public static NetTiersServiceSection NetTiersSection
		{
			get
			{
				// Try to get a reference to the default <netTiersService> section
				_section = WebConfigurationManager.GetSection("netTiersService") as NetTiersServiceSection;

				if ( _section == null )
				{
					// otherwise look for section based on the assembly name
					_section = WebConfigurationManager.GetSection("ATA.Data") as NetTiersServiceSection;
				}

				#region Design-Time Support

				if ( _section == null )
				{
					// lastly, try to find the specific NetTiersServiceSection for this assembly
					foreach ( ConfigurationSection temp in Configuration.Sections )
					{
						if ( temp is NetTiersServiceSection )
						{
							_section = temp as NetTiersServiceSection;
							break;
						}
					}
				}

				#endregion Design-Time Support
				
				if ( _section == null )
				{
					throw new ProviderException("Unable to load NetTiersServiceSection");
				}

				return _section;
			}
		}

		#region Design-Time Support

		/// <summary>
		/// Gets a reference to the application configuration object.
		/// </summary>
		public static Configuration Configuration
		{
			get
			{
				if ( _config == null )
				{
					// load specific config file
					if ( HttpContext.Current != null )
					{
						_config = WebConfigurationManager.OpenWebConfiguration("~");
					}
					else
					{
						String configFile = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile.Replace(".config", "").Replace(".temp", "");

						// check for design mode
						if ( configFile.ToLower().Contains("devenv.exe") )
						{
							_config = GetDesignTimeConfig();
						}
						else
						{
							_config = ConfigurationManager.OpenExeConfiguration(configFile);
						}
					}
				}

				return _config;
			}
		}

		private static Configuration GetDesignTimeConfig()
		{
			ExeConfigurationFileMap configMap = null;
			Configuration config = null;
			String path = null;

			// Get an instance of the currently running Visual Studio IDE.
			EnvDTE80.DTE2 dte = (EnvDTE80.DTE2) System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.8.0");
			if ( dte != null )
			{
				dte.SuppressUI = true;

				EnvDTE.ProjectItem item = dte.Solution.FindProjectItem("web.config");
				if ( item != null )
				{
					if (!item.ContainingProject.FullName.ToLower().StartsWith("http:"))
               {
                  System.IO.FileInfo info = new System.IO.FileInfo(item.ContainingProject.FullName);
                  path = String.Format("{0}\\{1}", info.Directory.FullName, item.Name);
                  configMap = new ExeConfigurationFileMap();
                  configMap.ExeConfigFilename = path;
               }
               else
               {
                  configMap = new ExeConfigurationFileMap();
                  configMap.ExeConfigFilename = item.get_FileNames(0);
               }}

				/*
				Array projects = (Array) dte2.ActiveSolutionProjects;
				EnvDTE.Project project = (EnvDTE.Project) projects.GetValue(0);
				System.IO.FileInfo info;

				foreach ( EnvDTE.ProjectItem item in project.ProjectItems )
				{
					if ( String.Compare(item.Name, "web.config", true) == 0 )
					{
						info = new System.IO.FileInfo(project.FullName);
						path = String.Format("{0}\\{1}", info.Directory.FullName, item.Name);
						configMap = new ExeConfigurationFileMap();
						configMap.ExeConfigFilename = path;
						break;
					}
				}
				*/
			}

			config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
			return config;
		}

		#endregion Design-Time Support

		#endregion Configuration

		#region Connections

		/// <summary>
		/// Gets a reference to the ConnectionStringSettings collection.
		/// </summary>
		public static ConnectionStringSettingsCollection ConnectionStrings
		{
			get
			{
				// use default ConnectionStrings if _section has already been discovered
				if ( _config == null && _section != null )
				{
					return WebConfigurationManager.ConnectionStrings;
				}
				
				return Configuration.ConnectionStrings.ConnectionStrings;
			}
		}

		// dictionary of connection providers
		private static Dictionary<String, ConnectionProvider> _connections;

		/// <summary>
		/// Gets the dictionary of connection providers.
		/// </summary>
		public static Dictionary<String, ConnectionProvider> Connections
		{
			get
			{
				if ( _connections == null )
				{
					lock (SyncRoot)
                	{
						if (_connections == null)
						{
							_connections = new Dictionary<String, ConnectionProvider>();
		
							// add a connection provider for each configured connection string
							foreach ( ConnectionStringSettings conn in ConnectionStrings )
							{
								_connections.Add(conn.Name, new ConnectionProvider(conn.Name));
							}
						}
					}
				}

				return _connections;
			}
		}

		/// <summary>
		/// Adds the specified connection string to the map of connection strings.
		/// </summary>
		/// <param name="connectionStringName">The connection string name.</param>
		/// <param name="connectionString">The provider specific connection information.</param>
		public static void AddConnection(String connectionStringName, String connectionString)
		{
			lock (SyncRoot)
            {
				Connections.Remove(connectionStringName);
				ConnectionProvider connection = new ConnectionProvider(connectionStringName, connectionString);
				Connections.Add(connectionStringName, connection);
			}
		}

		/// <summary>
		/// Provides ability to switch connection string at runtime.
		/// </summary>
		public sealed class ConnectionProvider
		{
			private NetTiersProvider _provider;
			private NetTiersProviderCollection _providers;
			private String _connectionStringName;
			private String _connectionString;

			/// <summary>
			/// Initializes a new instance of the ConnectionProvider class.
			/// </summary>
			/// <param name="connectionStringName">The connection string name.</param>
			public ConnectionProvider(String connectionStringName)
			{
				_connectionStringName = connectionStringName;
			}

			/// <summary>
			/// Initializes a new instance of the ConnectionProvider class.
			/// </summary>
			/// <param name="connectionStringName">The connection string name.</param>
			/// <param name="connectionString">The provider specific connection information.</param>
			public ConnectionProvider(String connectionStringName, String connectionString)
			{
				_connectionString = connectionString;
				_connectionStringName = connectionStringName;
			}

			/// <summary>
			/// Gets the provider.
			/// </summary>
			public NetTiersProvider Provider
			{
				get { LoadProviders(); return _provider; }
			}

			/// <summary>
			/// Gets the provider collection.
			/// </summary>
			public NetTiersProviderCollection Providers
			{
				get { LoadProviders(); return _providers; }
			}

			/// <summary>
			/// Instantiates the configured providers based on the supplied connection string.
			/// </summary>
			private void LoadProviders()
			{
				DataRepository.LoadProviders();

				// Avoid claiming lock if providers are already loaded
				if ( _providers == null )
				{
					lock ( SyncRoot )
					{
						// Do this again to make sure _provider is still null
						if ( _providers == null )
						{
							// apply connection information to each provider
							for ( int i = 0; i < NetTiersSection.Providers.Count; i++ )
							{
								NetTiersSection.Providers[i].Parameters["connectionStringName"] = _connectionStringName;
								// remove previous connection string, if any
								NetTiersSection.Providers[i].Parameters.Remove("connectionString");

								if ( !String.IsNullOrEmpty(_connectionString) )
								{
									NetTiersSection.Providers[i].Parameters["connectionString"] = _connectionString;
								}
							}

							// Load registered providers and point _provider to the default provider
							_providers = new NetTiersProviderCollection();

							ProvidersHelper.InstantiateProviders(NetTiersSection.Providers, _providers, typeof(NetTiersProvider));
							_provider = _providers[NetTiersSection.DefaultProvider];
						}
					}
				}
			}
		}

		#endregion Connections

		#region Static properties
		
		#region KhachHangLapMayPhaMauProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="KhachHangLapMayPhaMau"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static KhachHangLapMayPhaMauProviderBase KhachHangLapMayPhaMauProvider
		{
			get 
			{
				LoadProviders();
				return _provider.KhachHangLapMayPhaMauProvider;
			}
		}
		
		#endregion
		
		#region ChietKhauProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="ChietKhau"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static ChietKhauProviderBase ChietKhauProvider
		{
			get 
			{
				LoadProviders();
				return _provider.ChietKhauProvider;
			}
		}
		
		#endregion
		
		#region KhachHangDuthuongProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="KhachHangDuthuong"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static KhachHangDuthuongProviderBase KhachHangDuthuongProvider
		{
			get 
			{
				LoadProviders();
				return _provider.KhachHangDuthuongProvider;
			}
		}
		
		#endregion
		
		#region LoaiKhachHangProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="LoaiKhachHang"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static LoaiKhachHangProviderBase LoaiKhachHangProvider
		{
			get 
			{
				LoadProviders();
				return _provider.LoaiKhachHangProvider;
			}
		}
		
		#endregion
		
		#region KhachHangProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="KhachHang"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static KhachHangProviderBase KhachHangProvider
		{
			get 
			{
				LoadProviders();
				return _provider.KhachHangProvider;
			}
		}
		
		#endregion
		
		#region LoaiThoiGianProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="LoaiThoiGian"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static LoaiThoiGianProviderBase LoaiThoiGianProvider
		{
			get 
			{
				LoadProviders();
				return _provider.LoaiThoiGianProvider;
			}
		}
		
		#endregion
		
		#region RevenueProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="Revenue"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static RevenueProviderBase RevenueProvider
		{
			get 
			{
				LoadProviders();
				return _provider.RevenueProvider;
			}
		}
		
		#endregion
		
		#region NhomKhachHangProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="NhomKhachHang"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static NhomKhachHangProviderBase NhomKhachHangProvider
		{
			get 
			{
				LoadProviders();
				return _provider.NhomKhachHangProvider;
			}
		}
		
		#endregion
		
		#region PhanThuongProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="PhanThuong"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static PhanThuongProviderBase PhanThuongProvider
		{
			get 
			{
				LoadProviders();
				return _provider.PhanThuongProvider;
			}
		}
		
		#endregion
		
		#region HoiVienProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="HoiVien"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static HoiVienProviderBase HoiVienProvider
		{
			get 
			{
				LoadProviders();
				return _provider.HoiVienProvider;
			}
		}
		
		#endregion
		
		#region NhomSanPhamProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="NhomSanPham"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static NhomSanPhamProviderBase NhomSanPhamProvider
		{
			get 
			{
				LoadProviders();
				return _provider.NhomSanPhamProvider;
			}
		}
		
		#endregion
		
		#region DonViTinhProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="DonViTinh"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static DonViTinhProviderBase DonViTinhProvider
		{
			get 
			{
				LoadProviders();
				return _provider.DonViTinhProvider;
			}
		}
		
		#endregion
		
		#region ChietKhauSanPhamProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="ChietKhauSanPham"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static ChietKhauSanPhamProviderBase ChietKhauSanPhamProvider
		{
			get 
			{
				LoadProviders();
				return _provider.ChietKhauSanPhamProvider;
			}
		}
		
		#endregion
		
		#region ChietKhauNhanhProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="ChietKhauNhanh"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static ChietKhauNhanhProviderBase ChietKhauNhanhProvider
		{
			get 
			{
				LoadProviders();
				return _provider.ChietKhauNhanhProvider;
			}
		}
		
		#endregion
		
		#region ChuongTrinhProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="ChuongTrinh"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static ChuongTrinhProviderBase ChuongTrinhProvider
		{
			get 
			{
				LoadProviders();
				return _provider.ChuongTrinhProvider;
			}
		}
		
		#endregion
		
		#region ChietKhauDoanhSoProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="ChietKhauDoanhSo"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static ChietKhauDoanhSoProviderBase ChietKhauDoanhSoProvider
		{
			get 
			{
				LoadProviders();
				return _provider.ChietKhauDoanhSoProvider;
			}
		}
		
		#endregion
		
		#region ChuongTrinhChiTietProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="ChuongTrinhChiTiet"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static ChuongTrinhChiTietProviderBase ChuongTrinhChiTietProvider
		{
			get 
			{
				LoadProviders();
				return _provider.ChuongTrinhChiTietProvider;
			}
		}
		
		#endregion
		
		#region DoanhSoCamKetLapMayPhaMauProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="DoanhSoCamKetLapMayPhaMau"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static DoanhSoCamKetLapMayPhaMauProviderBase DoanhSoCamKetLapMayPhaMauProvider
		{
			get 
			{
				LoadProviders();
				return _provider.DoanhSoCamKetLapMayPhaMauProvider;
			}
		}
		
		#endregion
		
		#region DieuKienGiamGiaProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="DieuKienGiamGia"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static DieuKienGiamGiaProviderBase DieuKienGiamGiaProvider
		{
			get 
			{
				LoadProviders();
				return _provider.DieuKienGiamGiaProvider;
			}
		}
		
		#endregion
		
		#region DoanhSoCamKetProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="DoanhSoCamKet"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static DoanhSoCamKetProviderBase DoanhSoCamKetProvider
		{
			get 
			{
				LoadProviders();
				return _provider.DoanhSoCamKetProvider;
			}
		}
		
		#endregion
		
		#region ThuongHieuProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="ThuongHieu"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static ThuongHieuProviderBase ThuongHieuProvider
		{
			get 
			{
				LoadProviders();
				return _provider.ThuongHieuProvider;
			}
		}
		
		#endregion
		
		#region DoanhSoProvider

		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="DoanhSo"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static DoanhSoProviderBase DoanhSoProvider
		{
			get 
			{
				LoadProviders();
				return _provider.DoanhSoProvider;
			}
		}
		
		#endregion
		
		
		#region VwAllCustomersProvider
		
		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="VwAllCustomers"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static VwAllCustomersProviderBase VwAllCustomersProvider
		{
			get 
			{
				LoadProviders();
				return _provider.VwAllCustomersProvider;
			}
		}
		
		#endregion
		
		#region VwDoanhSoProvider
		
		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="VwDoanhSo"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static VwDoanhSoProviderBase VwDoanhSoProvider
		{
			get 
			{
				LoadProviders();
				return _provider.VwDoanhSoProvider;
			}
		}
		
		#endregion
		
		#region VwGetAllDoanhSoProvider
		
		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="VwGetAllDoanhSo"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static VwGetAllDoanhSoProviderBase VwGetAllDoanhSoProvider
		{
			get 
			{
				LoadProviders();
				return _provider.VwGetAllDoanhSoProvider;
			}
		}
		
		#endregion
		
		#region VwGetTotalMonthlyRevenueProvider
		
		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="VwGetTotalMonthlyRevenue"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static VwGetTotalMonthlyRevenueProviderBase VwGetTotalMonthlyRevenueProvider
		{
			get 
			{
				LoadProviders();
				return _provider.VwGetTotalMonthlyRevenueProvider;
			}
		}
		
		#endregion
		
		#region VwInventoryItemProvider
		
		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="VwInventoryItem"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static VwInventoryItemProviderBase VwInventoryItemProvider
		{
			get 
			{
				LoadProviders();
				return _provider.VwInventoryItemProvider;
			}
		}
		
		#endregion
		
		#region VwKhachHangLapMayPhaMauProvider
		
		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="VwKhachHangLapMayPhaMau"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static VwKhachHangLapMayPhaMauProviderBase VwKhachHangLapMayPhaMauProvider
		{
			get 
			{
				LoadProviders();
				return _provider.VwKhachHangLapMayPhaMauProvider;
			}
		}
		
		#endregion
		
		#region VwMisaBranchesProvider
		
		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="VwMisaBranches"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static VwMisaBranchesProviderBase VwMisaBranchesProvider
		{
			get 
			{
				LoadProviders();
				return _provider.VwMisaBranchesProvider;
			}
		}
		
		#endregion
		
		#region VwMisaCustomersProvider
		
		///<summary>
		/// Gets the current instance of the Data Access Logic Component for the <see cref="VwMisaCustomers"/> business entity.
		/// It exposes CRUD methods as well as selecting on index, foreign keys and custom stored procedures.
		///</summary>
		public static VwMisaCustomersProviderBase VwMisaCustomersProvider
		{
			get 
			{
				LoadProviders();
				return _provider.VwMisaCustomersProvider;
			}
		}
		
		#endregion
		
		#endregion
	}
	
	#region Query/Filters
		
	#region KhachHangLapMayPhaMauFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="KhachHangLapMayPhaMau"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class KhachHangLapMayPhaMauFilters : KhachHangLapMayPhaMauFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the KhachHangLapMayPhaMauFilters class.
		/// </summary>
		public KhachHangLapMayPhaMauFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the KhachHangLapMayPhaMauFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public KhachHangLapMayPhaMauFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the KhachHangLapMayPhaMauFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public KhachHangLapMayPhaMauFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion KhachHangLapMayPhaMauFilters
	
	#region KhachHangLapMayPhaMauQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="KhachHangLapMayPhaMauParameterBuilder"/> class
	/// that is used exclusively with a <see cref="KhachHangLapMayPhaMau"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class KhachHangLapMayPhaMauQuery : KhachHangLapMayPhaMauParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the KhachHangLapMayPhaMauQuery class.
		/// </summary>
		public KhachHangLapMayPhaMauQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the KhachHangLapMayPhaMauQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public KhachHangLapMayPhaMauQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the KhachHangLapMayPhaMauQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public KhachHangLapMayPhaMauQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion KhachHangLapMayPhaMauQuery
		
	#region ChietKhauFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="ChietKhau"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChietKhauFilters : ChietKhauFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChietKhauFilters class.
		/// </summary>
		public ChietKhauFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChietKhauFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChietKhauFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChietKhauFilters
	
	#region ChietKhauQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="ChietKhauParameterBuilder"/> class
	/// that is used exclusively with a <see cref="ChietKhau"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChietKhauQuery : ChietKhauParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChietKhauQuery class.
		/// </summary>
		public ChietKhauQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChietKhauQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChietKhauQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChietKhauQuery
		
	#region KhachHangDuthuongFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="KhachHangDuthuong"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class KhachHangDuthuongFilters : KhachHangDuthuongFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the KhachHangDuthuongFilters class.
		/// </summary>
		public KhachHangDuthuongFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the KhachHangDuthuongFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public KhachHangDuthuongFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the KhachHangDuthuongFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public KhachHangDuthuongFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion KhachHangDuthuongFilters
	
	#region KhachHangDuthuongQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="KhachHangDuthuongParameterBuilder"/> class
	/// that is used exclusively with a <see cref="KhachHangDuthuong"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class KhachHangDuthuongQuery : KhachHangDuthuongParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the KhachHangDuthuongQuery class.
		/// </summary>
		public KhachHangDuthuongQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the KhachHangDuthuongQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public KhachHangDuthuongQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the KhachHangDuthuongQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public KhachHangDuthuongQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion KhachHangDuthuongQuery
		
	#region LoaiKhachHangFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="LoaiKhachHang"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class LoaiKhachHangFilters : LoaiKhachHangFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the LoaiKhachHangFilters class.
		/// </summary>
		public LoaiKhachHangFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the LoaiKhachHangFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public LoaiKhachHangFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the LoaiKhachHangFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public LoaiKhachHangFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion LoaiKhachHangFilters
	
	#region LoaiKhachHangQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="LoaiKhachHangParameterBuilder"/> class
	/// that is used exclusively with a <see cref="LoaiKhachHang"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class LoaiKhachHangQuery : LoaiKhachHangParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the LoaiKhachHangQuery class.
		/// </summary>
		public LoaiKhachHangQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the LoaiKhachHangQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public LoaiKhachHangQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the LoaiKhachHangQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public LoaiKhachHangQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion LoaiKhachHangQuery
		
	#region KhachHangFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="KhachHang"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class KhachHangFilters : KhachHangFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the KhachHangFilters class.
		/// </summary>
		public KhachHangFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the KhachHangFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public KhachHangFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the KhachHangFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public KhachHangFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion KhachHangFilters
	
	#region KhachHangQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="KhachHangParameterBuilder"/> class
	/// that is used exclusively with a <see cref="KhachHang"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class KhachHangQuery : KhachHangParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the KhachHangQuery class.
		/// </summary>
		public KhachHangQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the KhachHangQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public KhachHangQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the KhachHangQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public KhachHangQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion KhachHangQuery
		
	#region LoaiThoiGianFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="LoaiThoiGian"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class LoaiThoiGianFilters : LoaiThoiGianFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the LoaiThoiGianFilters class.
		/// </summary>
		public LoaiThoiGianFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the LoaiThoiGianFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public LoaiThoiGianFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the LoaiThoiGianFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public LoaiThoiGianFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion LoaiThoiGianFilters
	
	#region LoaiThoiGianQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="LoaiThoiGianParameterBuilder"/> class
	/// that is used exclusively with a <see cref="LoaiThoiGian"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class LoaiThoiGianQuery : LoaiThoiGianParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the LoaiThoiGianQuery class.
		/// </summary>
		public LoaiThoiGianQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the LoaiThoiGianQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public LoaiThoiGianQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the LoaiThoiGianQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public LoaiThoiGianQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion LoaiThoiGianQuery
		
	#region RevenueFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="Revenue"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class RevenueFilters : RevenueFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the RevenueFilters class.
		/// </summary>
		public RevenueFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the RevenueFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public RevenueFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the RevenueFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public RevenueFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion RevenueFilters
	
	#region RevenueQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="RevenueParameterBuilder"/> class
	/// that is used exclusively with a <see cref="Revenue"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class RevenueQuery : RevenueParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the RevenueQuery class.
		/// </summary>
		public RevenueQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the RevenueQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public RevenueQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the RevenueQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public RevenueQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion RevenueQuery
		
	#region NhomKhachHangFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="NhomKhachHang"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class NhomKhachHangFilters : NhomKhachHangFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the NhomKhachHangFilters class.
		/// </summary>
		public NhomKhachHangFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the NhomKhachHangFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public NhomKhachHangFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the NhomKhachHangFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public NhomKhachHangFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion NhomKhachHangFilters
	
	#region NhomKhachHangQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="NhomKhachHangParameterBuilder"/> class
	/// that is used exclusively with a <see cref="NhomKhachHang"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class NhomKhachHangQuery : NhomKhachHangParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the NhomKhachHangQuery class.
		/// </summary>
		public NhomKhachHangQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the NhomKhachHangQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public NhomKhachHangQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the NhomKhachHangQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public NhomKhachHangQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion NhomKhachHangQuery
		
	#region PhanThuongFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="PhanThuong"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class PhanThuongFilters : PhanThuongFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the PhanThuongFilters class.
		/// </summary>
		public PhanThuongFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the PhanThuongFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public PhanThuongFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the PhanThuongFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public PhanThuongFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion PhanThuongFilters
	
	#region PhanThuongQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="PhanThuongParameterBuilder"/> class
	/// that is used exclusively with a <see cref="PhanThuong"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class PhanThuongQuery : PhanThuongParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the PhanThuongQuery class.
		/// </summary>
		public PhanThuongQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the PhanThuongQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public PhanThuongQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the PhanThuongQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public PhanThuongQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion PhanThuongQuery
		
	#region HoiVienFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="HoiVien"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class HoiVienFilters : HoiVienFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the HoiVienFilters class.
		/// </summary>
		public HoiVienFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the HoiVienFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public HoiVienFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the HoiVienFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public HoiVienFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion HoiVienFilters
	
	#region HoiVienQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="HoiVienParameterBuilder"/> class
	/// that is used exclusively with a <see cref="HoiVien"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class HoiVienQuery : HoiVienParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the HoiVienQuery class.
		/// </summary>
		public HoiVienQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the HoiVienQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public HoiVienQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the HoiVienQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public HoiVienQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion HoiVienQuery
		
	#region NhomSanPhamFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="NhomSanPham"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class NhomSanPhamFilters : NhomSanPhamFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the NhomSanPhamFilters class.
		/// </summary>
		public NhomSanPhamFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the NhomSanPhamFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public NhomSanPhamFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the NhomSanPhamFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public NhomSanPhamFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion NhomSanPhamFilters
	
	#region NhomSanPhamQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="NhomSanPhamParameterBuilder"/> class
	/// that is used exclusively with a <see cref="NhomSanPham"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class NhomSanPhamQuery : NhomSanPhamParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the NhomSanPhamQuery class.
		/// </summary>
		public NhomSanPhamQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the NhomSanPhamQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public NhomSanPhamQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the NhomSanPhamQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public NhomSanPhamQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion NhomSanPhamQuery
		
	#region DonViTinhFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="DonViTinh"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class DonViTinhFilters : DonViTinhFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the DonViTinhFilters class.
		/// </summary>
		public DonViTinhFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the DonViTinhFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public DonViTinhFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the DonViTinhFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public DonViTinhFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion DonViTinhFilters
	
	#region DonViTinhQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="DonViTinhParameterBuilder"/> class
	/// that is used exclusively with a <see cref="DonViTinh"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class DonViTinhQuery : DonViTinhParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the DonViTinhQuery class.
		/// </summary>
		public DonViTinhQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the DonViTinhQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public DonViTinhQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the DonViTinhQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public DonViTinhQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion DonViTinhQuery
		
	#region ChietKhauSanPhamFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="ChietKhauSanPham"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChietKhauSanPhamFilters : ChietKhauSanPhamFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChietKhauSanPhamFilters class.
		/// </summary>
		public ChietKhauSanPhamFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauSanPhamFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChietKhauSanPhamFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauSanPhamFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChietKhauSanPhamFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChietKhauSanPhamFilters
	
	#region ChietKhauSanPhamQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="ChietKhauSanPhamParameterBuilder"/> class
	/// that is used exclusively with a <see cref="ChietKhauSanPham"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChietKhauSanPhamQuery : ChietKhauSanPhamParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChietKhauSanPhamQuery class.
		/// </summary>
		public ChietKhauSanPhamQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauSanPhamQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChietKhauSanPhamQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauSanPhamQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChietKhauSanPhamQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChietKhauSanPhamQuery
		
	#region ChietKhauNhanhFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="ChietKhauNhanh"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChietKhauNhanhFilters : ChietKhauNhanhFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChietKhauNhanhFilters class.
		/// </summary>
		public ChietKhauNhanhFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauNhanhFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChietKhauNhanhFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauNhanhFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChietKhauNhanhFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChietKhauNhanhFilters
	
	#region ChietKhauNhanhQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="ChietKhauNhanhParameterBuilder"/> class
	/// that is used exclusively with a <see cref="ChietKhauNhanh"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChietKhauNhanhQuery : ChietKhauNhanhParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChietKhauNhanhQuery class.
		/// </summary>
		public ChietKhauNhanhQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauNhanhQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChietKhauNhanhQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauNhanhQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChietKhauNhanhQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChietKhauNhanhQuery
		
	#region ChuongTrinhFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="ChuongTrinh"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChuongTrinhFilters : ChuongTrinhFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhFilters class.
		/// </summary>
		public ChuongTrinhFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChuongTrinhFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChuongTrinhFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChuongTrinhFilters
	
	#region ChuongTrinhQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="ChuongTrinhParameterBuilder"/> class
	/// that is used exclusively with a <see cref="ChuongTrinh"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChuongTrinhQuery : ChuongTrinhParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhQuery class.
		/// </summary>
		public ChuongTrinhQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChuongTrinhQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChuongTrinhQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChuongTrinhQuery
		
	#region ChietKhauDoanhSoFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="ChietKhauDoanhSo"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChietKhauDoanhSoFilters : ChietKhauDoanhSoFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChietKhauDoanhSoFilters class.
		/// </summary>
		public ChietKhauDoanhSoFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauDoanhSoFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChietKhauDoanhSoFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauDoanhSoFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChietKhauDoanhSoFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChietKhauDoanhSoFilters
	
	#region ChietKhauDoanhSoQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="ChietKhauDoanhSoParameterBuilder"/> class
	/// that is used exclusively with a <see cref="ChietKhauDoanhSo"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChietKhauDoanhSoQuery : ChietKhauDoanhSoParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChietKhauDoanhSoQuery class.
		/// </summary>
		public ChietKhauDoanhSoQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauDoanhSoQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChietKhauDoanhSoQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChietKhauDoanhSoQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChietKhauDoanhSoQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChietKhauDoanhSoQuery
		
	#region ChuongTrinhChiTietFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="ChuongTrinhChiTiet"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChuongTrinhChiTietFilters : ChuongTrinhChiTietFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhChiTietFilters class.
		/// </summary>
		public ChuongTrinhChiTietFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhChiTietFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChuongTrinhChiTietFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhChiTietFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChuongTrinhChiTietFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChuongTrinhChiTietFilters
	
	#region ChuongTrinhChiTietQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="ChuongTrinhChiTietParameterBuilder"/> class
	/// that is used exclusively with a <see cref="ChuongTrinhChiTiet"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ChuongTrinhChiTietQuery : ChuongTrinhChiTietParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhChiTietQuery class.
		/// </summary>
		public ChuongTrinhChiTietQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhChiTietQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ChuongTrinhChiTietQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ChuongTrinhChiTietQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ChuongTrinhChiTietQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ChuongTrinhChiTietQuery
		
	#region DoanhSoCamKetLapMayPhaMauFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="DoanhSoCamKetLapMayPhaMau"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class DoanhSoCamKetLapMayPhaMauFilters : DoanhSoCamKetLapMayPhaMauFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetLapMayPhaMauFilters class.
		/// </summary>
		public DoanhSoCamKetLapMayPhaMauFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetLapMayPhaMauFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public DoanhSoCamKetLapMayPhaMauFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetLapMayPhaMauFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public DoanhSoCamKetLapMayPhaMauFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion DoanhSoCamKetLapMayPhaMauFilters
	
	#region DoanhSoCamKetLapMayPhaMauQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="DoanhSoCamKetLapMayPhaMauParameterBuilder"/> class
	/// that is used exclusively with a <see cref="DoanhSoCamKetLapMayPhaMau"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class DoanhSoCamKetLapMayPhaMauQuery : DoanhSoCamKetLapMayPhaMauParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetLapMayPhaMauQuery class.
		/// </summary>
		public DoanhSoCamKetLapMayPhaMauQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetLapMayPhaMauQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public DoanhSoCamKetLapMayPhaMauQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetLapMayPhaMauQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public DoanhSoCamKetLapMayPhaMauQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion DoanhSoCamKetLapMayPhaMauQuery
		
	#region DieuKienGiamGiaFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="DieuKienGiamGia"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class DieuKienGiamGiaFilters : DieuKienGiamGiaFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the DieuKienGiamGiaFilters class.
		/// </summary>
		public DieuKienGiamGiaFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the DieuKienGiamGiaFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public DieuKienGiamGiaFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the DieuKienGiamGiaFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public DieuKienGiamGiaFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion DieuKienGiamGiaFilters
	
	#region DieuKienGiamGiaQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="DieuKienGiamGiaParameterBuilder"/> class
	/// that is used exclusively with a <see cref="DieuKienGiamGia"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class DieuKienGiamGiaQuery : DieuKienGiamGiaParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the DieuKienGiamGiaQuery class.
		/// </summary>
		public DieuKienGiamGiaQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the DieuKienGiamGiaQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public DieuKienGiamGiaQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the DieuKienGiamGiaQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public DieuKienGiamGiaQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion DieuKienGiamGiaQuery
		
	#region DoanhSoCamKetFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="DoanhSoCamKet"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class DoanhSoCamKetFilters : DoanhSoCamKetFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetFilters class.
		/// </summary>
		public DoanhSoCamKetFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public DoanhSoCamKetFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public DoanhSoCamKetFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion DoanhSoCamKetFilters
	
	#region DoanhSoCamKetQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="DoanhSoCamKetParameterBuilder"/> class
	/// that is used exclusively with a <see cref="DoanhSoCamKet"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class DoanhSoCamKetQuery : DoanhSoCamKetParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetQuery class.
		/// </summary>
		public DoanhSoCamKetQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public DoanhSoCamKetQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoCamKetQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public DoanhSoCamKetQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion DoanhSoCamKetQuery
		
	#region ThuongHieuFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="ThuongHieu"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ThuongHieuFilters : ThuongHieuFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ThuongHieuFilters class.
		/// </summary>
		public ThuongHieuFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the ThuongHieuFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ThuongHieuFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ThuongHieuFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ThuongHieuFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ThuongHieuFilters
	
	#region ThuongHieuQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="ThuongHieuParameterBuilder"/> class
	/// that is used exclusively with a <see cref="ThuongHieu"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class ThuongHieuQuery : ThuongHieuParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ThuongHieuQuery class.
		/// </summary>
		public ThuongHieuQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the ThuongHieuQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public ThuongHieuQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the ThuongHieuQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public ThuongHieuQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion ThuongHieuQuery
		
	#region DoanhSoFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="DoanhSo"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class DoanhSoFilters : DoanhSoFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the DoanhSoFilters class.
		/// </summary>
		public DoanhSoFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public DoanhSoFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public DoanhSoFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion DoanhSoFilters
	
	#region DoanhSoQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="DoanhSoParameterBuilder"/> class
	/// that is used exclusively with a <see cref="DoanhSo"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class DoanhSoQuery : DoanhSoParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the DoanhSoQuery class.
		/// </summary>
		public DoanhSoQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public DoanhSoQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the DoanhSoQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public DoanhSoQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion DoanhSoQuery
		
	#region VwAllCustomersFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="VwAllCustomers"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwAllCustomersFilters : VwAllCustomersFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwAllCustomersFilters class.
		/// </summary>
		public VwAllCustomersFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwAllCustomersFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwAllCustomersFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwAllCustomersFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwAllCustomersFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwAllCustomersFilters
	
	#region VwAllCustomersQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="VwAllCustomersParameterBuilder"/> class
	/// that is used exclusively with a <see cref="VwAllCustomers"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwAllCustomersQuery : VwAllCustomersParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwAllCustomersQuery class.
		/// </summary>
		public VwAllCustomersQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwAllCustomersQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwAllCustomersQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwAllCustomersQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwAllCustomersQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwAllCustomersQuery
		
	#region VwDoanhSoFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="VwDoanhSo"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwDoanhSoFilters : VwDoanhSoFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwDoanhSoFilters class.
		/// </summary>
		public VwDoanhSoFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwDoanhSoFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwDoanhSoFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwDoanhSoFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwDoanhSoFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwDoanhSoFilters
	
	#region VwDoanhSoQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="VwDoanhSoParameterBuilder"/> class
	/// that is used exclusively with a <see cref="VwDoanhSo"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwDoanhSoQuery : VwDoanhSoParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwDoanhSoQuery class.
		/// </summary>
		public VwDoanhSoQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwDoanhSoQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwDoanhSoQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwDoanhSoQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwDoanhSoQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwDoanhSoQuery
		
	#region VwGetAllDoanhSoFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="VwGetAllDoanhSo"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwGetAllDoanhSoFilters : VwGetAllDoanhSoFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwGetAllDoanhSoFilters class.
		/// </summary>
		public VwGetAllDoanhSoFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwGetAllDoanhSoFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwGetAllDoanhSoFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwGetAllDoanhSoFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwGetAllDoanhSoFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwGetAllDoanhSoFilters
	
	#region VwGetAllDoanhSoQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="VwGetAllDoanhSoParameterBuilder"/> class
	/// that is used exclusively with a <see cref="VwGetAllDoanhSo"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwGetAllDoanhSoQuery : VwGetAllDoanhSoParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwGetAllDoanhSoQuery class.
		/// </summary>
		public VwGetAllDoanhSoQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwGetAllDoanhSoQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwGetAllDoanhSoQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwGetAllDoanhSoQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwGetAllDoanhSoQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwGetAllDoanhSoQuery
		
	#region VwGetTotalMonthlyRevenueFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="VwGetTotalMonthlyRevenue"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwGetTotalMonthlyRevenueFilters : VwGetTotalMonthlyRevenueFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwGetTotalMonthlyRevenueFilters class.
		/// </summary>
		public VwGetTotalMonthlyRevenueFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwGetTotalMonthlyRevenueFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwGetTotalMonthlyRevenueFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwGetTotalMonthlyRevenueFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwGetTotalMonthlyRevenueFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwGetTotalMonthlyRevenueFilters
	
	#region VwGetTotalMonthlyRevenueQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="VwGetTotalMonthlyRevenueParameterBuilder"/> class
	/// that is used exclusively with a <see cref="VwGetTotalMonthlyRevenue"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwGetTotalMonthlyRevenueQuery : VwGetTotalMonthlyRevenueParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwGetTotalMonthlyRevenueQuery class.
		/// </summary>
		public VwGetTotalMonthlyRevenueQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwGetTotalMonthlyRevenueQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwGetTotalMonthlyRevenueQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwGetTotalMonthlyRevenueQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwGetTotalMonthlyRevenueQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwGetTotalMonthlyRevenueQuery
		
	#region VwInventoryItemFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="VwInventoryItem"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwInventoryItemFilters : VwInventoryItemFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwInventoryItemFilters class.
		/// </summary>
		public VwInventoryItemFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwInventoryItemFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwInventoryItemFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwInventoryItemFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwInventoryItemFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwInventoryItemFilters
	
	#region VwInventoryItemQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="VwInventoryItemParameterBuilder"/> class
	/// that is used exclusively with a <see cref="VwInventoryItem"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwInventoryItemQuery : VwInventoryItemParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwInventoryItemQuery class.
		/// </summary>
		public VwInventoryItemQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwInventoryItemQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwInventoryItemQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwInventoryItemQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwInventoryItemQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwInventoryItemQuery
		
	#region VwKhachHangLapMayPhaMauFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="VwKhachHangLapMayPhaMau"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwKhachHangLapMayPhaMauFilters : VwKhachHangLapMayPhaMauFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwKhachHangLapMayPhaMauFilters class.
		/// </summary>
		public VwKhachHangLapMayPhaMauFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwKhachHangLapMayPhaMauFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwKhachHangLapMayPhaMauFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwKhachHangLapMayPhaMauFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwKhachHangLapMayPhaMauFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwKhachHangLapMayPhaMauFilters
	
	#region VwKhachHangLapMayPhaMauQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="VwKhachHangLapMayPhaMauParameterBuilder"/> class
	/// that is used exclusively with a <see cref="VwKhachHangLapMayPhaMau"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwKhachHangLapMayPhaMauQuery : VwKhachHangLapMayPhaMauParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwKhachHangLapMayPhaMauQuery class.
		/// </summary>
		public VwKhachHangLapMayPhaMauQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwKhachHangLapMayPhaMauQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwKhachHangLapMayPhaMauQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwKhachHangLapMayPhaMauQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwKhachHangLapMayPhaMauQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwKhachHangLapMayPhaMauQuery
		
	#region VwMisaBranchesFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="VwMisaBranches"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwMisaBranchesFilters : VwMisaBranchesFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwMisaBranchesFilters class.
		/// </summary>
		public VwMisaBranchesFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwMisaBranchesFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwMisaBranchesFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwMisaBranchesFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwMisaBranchesFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwMisaBranchesFilters
	
	#region VwMisaBranchesQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="VwMisaBranchesParameterBuilder"/> class
	/// that is used exclusively with a <see cref="VwMisaBranches"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwMisaBranchesQuery : VwMisaBranchesParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwMisaBranchesQuery class.
		/// </summary>
		public VwMisaBranchesQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwMisaBranchesQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwMisaBranchesQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwMisaBranchesQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwMisaBranchesQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwMisaBranchesQuery
		
	#region VwMisaCustomersFilters
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="SqlFilterBuilder&lt;EntityColumn&gt;"/> class
	/// that is used exclusively with a <see cref="VwMisaCustomers"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwMisaCustomersFilters : VwMisaCustomersFilterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwMisaCustomersFilters class.
		/// </summary>
		public VwMisaCustomersFilters() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwMisaCustomersFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwMisaCustomersFilters(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwMisaCustomersFilters class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwMisaCustomersFilters(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwMisaCustomersFilters
	
	#region VwMisaCustomersQuery
	
	/// <summary>
	/// A strongly-typed instance of the <see cref="VwMisaCustomersParameterBuilder"/> class
	/// that is used exclusively with a <see cref="VwMisaCustomers"/> object.
	/// </summary>
	[CLSCompliant(true)]
	public class VwMisaCustomersQuery : VwMisaCustomersParameterBuilder
	{
		#region Constructors

		/// <summary>
		/// Initializes a new instance of the VwMisaCustomersQuery class.
		/// </summary>
		public VwMisaCustomersQuery() : base() { }

		/// <summary>
		/// Initializes a new instance of the VwMisaCustomersQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		public VwMisaCustomersQuery(bool ignoreCase) : base(ignoreCase) { }

		/// <summary>
		/// Initializes a new instance of the VwMisaCustomersQuery class.
		/// </summary>
		/// <param name="ignoreCase">Specifies whether to create case-insensitive statements.</param>
		/// <param name="useAnd">Specifies whether to combine statements using AND or OR.</param>
		public VwMisaCustomersQuery(bool ignoreCase, bool useAnd) : base(ignoreCase, useAnd) { }

		#endregion Constructors
	}

	#endregion VwMisaCustomersQuery
	#endregion

	
}
